Hands-free two-way audio communications systems, such as speakerphones, utilize both a microphone and a speaker. The microphone transmits speech and other sounds from the local terminal to remote terminals while the speaker emits sounds received from remote terminals. In a typical speakerphone system, the speaker and microphone are located in close proximity and sounds produced by the speaker are picked up by the microphone. Without signal processing, therefore, a feedback loop is easily created between the speaker and microphone. This feedback can cause the speaker to emit an undesirable “howling” noise and cause the remote terminals to hear echoes.
One simple technique for eliminating feedback is to provide half-duplex switching where only the microphone or the speaker is active at any given instant. In a typical half-duplex system, the speaker is active until a sound is detected at the microphone. Then, the speaker becomes inactive and the microphone becomes active for the duration of the sound. Half-duplex systems have many inherent problems, not the least of which is that a slight noise may unintentionally cause the speaker to cut out. As a result, it is often difficult to conduct a normal conversation using a speakerphone with a half-duplex switching system.
More sophisticated audio communications systems use complicated adaptive techniques to reduce background noises as well as to regulate gain in the audio channel and eliminate feedback. These techniques identify selected acoustical situations, such as “doubletalk” or “voice not present,” and use these identifications to control the rate of adaptation of the signal conditioning methods. Adaptive acoustic echo cancellation (AEC), for example, is performed at the speakerphone and utilizes a sample-by-sample copy of the signal going to the speaker as the basis for an estimate of the echo returning through the microphone. The estimated echo is subtracted on a sample-by-sample basis in an attempt to separate out only that portion of the microphone signal due to sounds coming from sources other than the speaker.
Other signal processing techniques may also be performed at the terminal to improve the quality of the audio signal. For example, frequency shifting is sometimes used to further attenuate loop gain at a particular frequency and thus avoid howling. In addition, a noise reduction algorithm can be used to estimate a frequency dependent profile of the noise floor and attenuate sounds which are temporarily near or below that noise floor. A voice-gated automatic gain control (AGC) can also be used to isolate times during which local speech is thought to be present and then adjust the signal gain so that the speech is near a predetermined level when considered on average.
These solutions can work reasonably well, but the software and hardware for implementing these solutions is integrated into the speakerphone. Thus, the software and hardware must be replicated for each speakerphone and the total cost of the solution depends upon the number of speakerphones in existence. In addition, each speakerphone must be designed and built to some pre-selected level of quality and can not be easily tuned to a particular use or environment. Similarly, it is not easy to change or upgrade the solution implemented by the speakerphone.
Therefore, there is a need in the art for a solution that provides effective signal processing to an audio communications system but does not have costs that scale with the number of speakerphones. Preferably, this solution would also allow the signal processing performed for each speakerphone to be easily tuned or upgraded for a particular use or environment.